

#include "oled.h"
#include "serial.h"

// 创建U8G2对象，使用软件I2C
// clock=D2, data=D1, reset=无
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ D2, /* data=*/ D1, /* reset=*/ U8X8_PIN_NONE);

void oledInit() {
    serialPrint("初始化OLED显示屏...");
    
    u8g2.begin();  // 初始化显示器
    u8g2.clearBuffer();  // 清空显示缓冲区
    
    // 设置中文字体并启用UTF8编码支持
    u8g2.setFont(u8g2_font_wqy14_t_gb2312);
    u8g2.enableUTF8Print();
    
    // 刷新显示
    u8g2.sendBuffer();
    
    serialPrint("OLED初始化完成");
}

void oledShow(uint8_t x, uint8_t y, String text) {
    // 设置光标位置并显示文本
    u8g2.setCursor(x, y);
    u8g2.print(text);
    u8g2.sendBuffer();  // 刷新显示
}

void oledClear() {
    // 清空显示缓冲区并刷新显示
    u8g2.clearBuffer();
    u8g2.sendBuffer();
}
